Recently virtual reality devices that immerse a user in a computer generated virtual world have been introduced. Certain virtual reality devices include a pair of displays placed in close proximity to a user's eyes and corrective optics interposed between the pair of displays and the user's eyes the purpose of which is to allow the user to focus on the imagery displayed on the displays notwithstanding the close proximity of the displays. The major application for such virtual reality devices is gaming although other applications such as scientific data visualization are also contemplated.
A technology being developed that is related to virtual reality but more sophisticated is augmented reality. Augmented reality wearables (i.e., headgear with an eye glasses form factor) will allow a user to simultaneously view the real world and virtual, computer generated content that is superimposed on the real world. To improve the illusion that virtual content is real and/or to more seamlessly integrate the virtual content and the real world it would be desirable that the virtual content appear to exist in the inertial reference frame fixed to the real environment of the user notwithstanding a user rotating their head with the headgear, or ambulating within their environment. So for example if the virtual content were to include a virtual book resting on a corner of a real world desk, the book should remain fixed in the real world, e.g., on the corner of the desk, even when the user rotates their head along with the augmented reality headgear that is projecting the image of the book on the corner of the desk. To accomplish this the movements of the headgear carried on the user's head will need to be carefully tracked and the image being generated by the augmented reality headgear rapidly shifted in the field of view to null out the effect of the movements of the headgear. One way to track the orientation of an object is to use one or more gyroscopes. However gyroscopes inherently suffer from drift and therefore attempting to fix virtual objects in the real world based on gyroscope output would lead to the virtual objects slowly drifting relative to the real world when they are intended to maintain fixed positions relative to the real world.